package com.gccloud.design.dao;


import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gccloud.design.entity.SdDispatchPrincipleEntity;
import com.gccloud.design.vo.SdPrincipleVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.scheduling.annotation.EnableAsync;

/**
 * @author mengyu
 * @date 2020/12/26 19:05
 */
@Mapper
@EnableAsync(proxyTargetClass = true)
public interface SdPrincipleDao extends BaseMapper<SdDispatchPrincipleEntity> {

    /**
     * 分页查询
     *
     * @param sdDispatchPrincipleEntity 原则实体
     * @param searchPage                分页对象
     * @return 列表
     */
    IPage<SdPrincipleVO> getPrinciple(SdDispatchPrincipleEntity sdDispatchPrincipleEntity, Page<SdDispatchPrincipleEntity> searchPage);

    /**
     * 分页查询
     *
     * @param sdDispatchPrincipleEntity 原则实体
     * @param searchPage                分页对象
     * @param ids                       主键集合
     * @return 列表
     */
    IPage<SdPrincipleVO> getPrincipleByIds(@Param("sdDispatchPrincipleEntity") SdDispatchPrincipleEntity sdDispatchPrincipleEntity,
                                           Page<SdDispatchPrincipleEntity> searchPage, @Param("ids") String ids);

    /**
     * 新增原则实体
     *
     * @param sdDispatchPrincipleEntity 原则实体
     */
    void savePrinciple(SdDispatchPrincipleEntity sdDispatchPrincipleEntity);
}
